package cn.lanchengkeji.datafillingsystem.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableLogic;
import java.io.Serializable;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 模板任务
 * </p>
 *
 * @author bobobobobo
 * @since 2022-01-19
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="RqTask对象", description="模板任务")
public class RqTask extends Model<RqTask> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "任务名称")
    private String taskName;

    @ApiModelProperty(value = "该任务是否需要审核（0-不需要  1-需要）")
    private Integer isCheck;

    @ApiModelProperty(value = "模板id")
    private Integer templateId;

    @ApiModelProperty(value = "填报起始时间")
    private Date startTime;

    @ApiModelProperty(value = "填报结束时间")
    private Date endTime;

    @ApiModelProperty(value = "填报责任小组")
    private Integer responsibilityGroup;

    @ApiModelProperty(value = "填报责任小组负责人")
    private Integer responsibilityPeo;

    @ApiModelProperty(value = "发起人")
    private Integer initiator;

    @ApiModelProperty(value = "发起部门")
    private String initiatorDepartment;

    @ApiModelProperty(value = "填报进度(0-待填报  1-已填报  2-已驳回)")
    private Integer fillState;

    @ApiModelProperty(value = "审批流程id")
    private String approvalProcessId;

    @ApiModelProperty(value = "频率")
    private String frequency;

    @ApiModelProperty(value = "数据审核状态(0-待审核 1-已审核  2-已驳回)")
    private Integer auditState;

    @ApiModelProperty(value = "驳回备注")
    private String remark;

    @ApiModelProperty(value = "材料质量审核状态(0-待审核 1-已审核  2-已驳回)")
    private Integer materialAuditState;

    @ApiModelProperty(value = "是否分配（0-待分配  1-已分配  2-已关闭  3-已结束）")
    private Integer type;

    private Integer createUser;

    private Date createTime;

    private Integer updateUser;

    private Date updateTime;

    @TableLogic
    private Integer delFlag;


    public static final String ID = "id";

    public static final String TASK_NAME = "task_name";

    public static final String IS_CHECK = "is_check";

    public static final String TEMPLATE_ID = "template_id";

    public static final String START_TIME = "start_time";

    public static final String END_TIME = "end_time";

    public static final String RESPONSIBILITY_GROUP = "responsibility_group";

    public static final String RESPONSIBILITY_PEO = "responsibility_peo";

    public static final String INITIATOR = "initiator";

    public static final String INITIATOR_DEPARTMENT = "initiator_department";

    public static final String FILL_STATE = "fill_state";

    public static final String APPROVAL_PROCESS_ID = "approval_process_id";

    public static final String FREQUENCY = "frequency";

    public static final String AUDIT_STATE = "audit_state";

    public static final String MATERIAL_AUDIT_STATE = "material_audit_state";

    public static final String TYPE = "type";

    public static final String CREATE_USER = "create_user";

    public static final String CREATE_TIME = "create_time";

    public static final String UPDATE_USER = "update_user";

    public static final String UPDATE_TIME = "update_time";

    public static final String REMARK = "REMARK";

    public static final String DEL_FLAG = "del_flag";

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
